1. Field of the Invention
This invention relates to the field of apparatus and methods for designing, analyzing, or simulating signal processing functions.
2. Description of the Prior Art
In order to be able to work efficiently, practising engineers use specialised tools to design, analyze and simulate various signal processing functions.
Known systems for designing, analyzing or simulating signal processing functions are focused on particular areas within the broad range of signal processing functions that are possible. Examples of existing systems are:
ILS System--focuses on 1--D audio problems PA1 Logica Lucid System--focuses 2--D and 3--D problems PA1 1). Design a 1--D finite impulse response (FIR) digital low pass filter. PA1 2). Analyze the response of the filter graphically to ensure the performance is satisfactory. PA1 3). Design a second 1--D low pass FIR filter. PA1 4). Analyze the response of the second filter graphically. PA1 5). Convolve the two 1--D filters into a 2--D filter. PA1 6). Design a true 2--D circularly symmetric digital filter. PA1 7). Use the filter from step 5) to filter a video image. PA1 8). Use the filter from step 6) to filter a video image. PA1 9). Display the results of step 7) as a 2--D picture. PA1 10). Display the results of step 8) as a 2--D picture. PA1 11). Take the difference of the filtered video images from step 7) and step 8). PA1 12). Display the difference scaled by a particular factor in order to PA1 (i) data file storage means for storing one or more data files to be processed; PA1 (ii) header file storage means for storing a header file corresponding to each of said one or more data files specifying a plurality of attributes of data within each of said one or more data files; PA1 (iii) data file selection means for selecting one of said one or more data files to undergo a signal processing function; PA1 (iv) signal processing function selection means for selecting one of a plurality of signal processing functions to be carried out upon data within a data file; and PA1 (v) signal processing means for performing a selected signal processing function upon data within a selected data file in dependence upon a set of attributes read from a header file corresponding to said selected data file. PA1 The invention provides a system with an architecture that enables a wide range of signal processing functions to be modelled and allows the possibility of easy extension to future areas of interest. At the heart of the system is the idea of providing a comprehensive header file for each data file thereby providing considerable flexibility in the signal processing functions that can be carried out upon the data within the data files. A given signal processing function will extract the set of attributes from the header file needed for its particular processing operation. PA1 the spatial and temporal dimensions of said digital video signal data, PA1 the number of bytes storing each video data element, PA1 the number of bits active in storing each video data element within said video data element storing bytes, PA1 whether said digital video signal data is interlaced digital video signal data, PA1 the sampling rate in each dimension of said digital video signal data, and PA1 the number of video data elements in each dimension. PA1 the colour matrix applied to said digital video signal data, and PA1 the gamma correction applied to said digital video signal data. PA1 the filename for said digital video signal data, PA1 the creation date and time for said digital video signal data, PA1 the file type of said digital video signal data, PA1 the originating process that produced said digital video signal data, PA1 the project name related to said digital video signal data, PA1 explanatory text relating to said digital video signal data, PA1 the name of the originator of said digital video signal data, PA1 the signal type of said digital video signal data, PA1 whether said video data elements are signed video data elements, PA1 the position of any binary point within said video data elements, PA1 the relative position within a broadcast format field sequence of the first field of said digital video signal data, PA1 the original size of and position within each dimension of original digital video signal data from which said digital video signal data has been extracted, PA1 the timecode reference for said digital video data signal within a sequence of digital video signal data, PA1 whether and what type of data compression has been applied to said digital video signal data, and PA1 the aspect ratio for display of said digital video signal data. PA1 the number of channels of said digital audio data, PA1 the number of bytes storing each audio data value, PA1 the number of bits active in storing each audio data value within said audio data value storing bytes, PA1 the sampling rate in each channel of said digital audio data, and PA1 the number of audio data values in each channel of said digital audio data. PA1 the filename for said digital audio data, PA1 the creation date and time for said digital audio data, PA1 the file type of said digital audio data, PA1 the originating process that produced said digital audio data, PA1 the project name related to said digital audio data, PA1 explanatory text relating to said digital audio data, PA1 the name of the originator of said digital audio data, PA1 the coding type of said digital audio data, PA1 the signal type of said digital audio data, PA1 the position of any binary point within said audio data values, and PA1 whether said digital audio data is sequentially sampled digital audio data. PA1 the number of dimensions of said digital finite impulse response filter coefficient data, PA1 the decimation factor in each dimension of said digital finite impulse response filter coefficient data, and PA1 the number of finite impulse response filter coefficient values in each dimension of said digital finite impulse response filter coefficient data. PA1 the filename for said digital finite impulse response filter coefficient data, PA1 the creation date and time for said digital finite impulse response filter coefficient data, PA1 the file type of said digital finite impulse response filter coefficient data, PA1 the originating process that produced said digital finite impulse response filter coefficient data, PA1 the project name related to said digital finite impulse response filter coefficient data, PA1 explanatory text relating to said digital finite impulse response filter coefficient data, PA1 the name of the originator of said digital finite impulse response filter coefficient data, PA1 whether said digital finite impulse response filter coefficient data represents a separable filter, PA1 whether said digital finite impulse response filter coefficient data is integer digital finite impulse response filter coefficient data, and PA1 the sample rate specification in each dimension of said digital finite impulse response coefficient data. PA1 the order of said first polynomial, PA1 the order of said second polynomial, PA1 whether said transfer function is to be modelled as an analogue model or a discrete time model, and PA1 whether said transfer function is to be modelled directly or as parallel banks of cascaded biquadratic sections. PA1 the filename for said infinite impulse response filter polynomial coefficient data, PA1 the creation .date sand time for said infinite impulse response filter polynomial coefficient data, PA1 the file type of said infinite impulse response filter polynomial coefficient data, PA1 the originating process that produced said infinite impulse response filter polynomial coefficient data, PA1 the project name related to said infinite impulse response filter polynomial coefficient data, PA1 explanatory text relating to said infinite impulse response filter polynomial coefficient data, PA1 the name of the originator of said infinite impulse response filter polynomial coefficient data, PA1 the number of cascaded biquadratic sections in each parallel branch if said transfer function is so modelled, PA1 the number of parallel branches if said transfer function is so modelled, PA1 whether said polynomial coefficient values are integer polynomial coefficient values, and PA1 the sample rate specification of said infinite impulse response filter. PA1 the number of dimensions of said digital frequency response data, PA1 the sampling rate in each dimension of said digital frequency response data, and PA1 the number of frequency response data values in each dimension. PA1 the filename for said digital frequency response data, PA1 the creation date and time for said digital frequency response data, PA1 the file type of said digital frequency response data, PA1 the originating process that produced said digital frequency response data, PA1 the project name related to said digital frequency response data, PA1 explanatory text relating to said digital frequency response data, PA1 the name of the originator of said digital frequency response data, PA1 the end points in each dimension of said digital frequency response data, PA1 the type of distribution in each dimension of said digital frequency response data. PA1 (i) storing one or more data files to be processed; PA1 (ii) storing a header file corresponding to each of said one or more data files specifying a plurality of attributes of data within each of said one or more data files; PA1 (iii) selecting one of said one or more data files to undergo a signal processing function; PA1 (iv) selecting one of a plurality of signal processing functions to be carried out upon data within a data file; and PA1 (v) performing a selected signal processing function upon data within a selected data file in dependence upon a set of attributes read from a header file corresponding to said selected data file.
Comdisco System--allows behaviourial modelling functions to be translated to a hardware realisation.
However, the work of an engineer typically requires a broad range of different signal processing function to be designed, analyzed or simulated even when working on a single project. An example of a sequence of tasks the engineer would perform is:
show any significant differences in processing.
None of the known systems have the required breadth or depth of features to be truly useful in providing all the necessary design, analysis or simulation possibilities that are likely to be needed when producing a complete new system as illustrated above.